﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using System.Configuration;
using AjaxControlToolkit;
using ENProyecto7;

namespace WebProyectoSIETE
{
    public partial class Mapa : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (Session["usuario"] != null)
                {
                    //Session["idMision"] = 1;
                    //String sentencia1 = "select * from mision,mapa, mapalocalizacion,localizacion where mision.idMision=" + Session["idMision"].ToString() + " AND mapa.idMapa=mision.mapaMision AND mapa.idMapa=mapalocalizacion.idMapa AND mapalocalizacion.idLocalizacion=localizacion.idLocalizacion ;";
                    //DataView dv1;

                    //String sentencia2 = "select * from mision,mapa,mapalocalizacion,localizacion where mision.idMision=" + Session["idMision"].ToString() + " AND mapa.idMapa=mision.mapaMision AND mapalocalizacion.idLocalizacion=localizacion.idLocalizacion ;";
                    //DataView dv2;

                    //SqlDataSourceMapa.SelectCommand = sentencia1;

                    //dv1 = (DataView)SqlDataSourceMapa.Select(DataSourceSelectArguments.Empty);
                    //NombreMapa.Text = dv1.Table.Rows[0]["nombreMapa"].ToString();
                    //imgMapa.ImageUrl = "~/img/" + dv1.Table.Rows[0]["imagenMapa"].ToString();
                    ENMision misionen = new ENMision();
                    misionen.IdMision = int.Parse(Session["idMision"].ToString());
                    SqlDataReader dr = misionen.obtenerMapaMision();
                    if (dr.HasRows)
                    {
                        dr.Read();
                        NombreMapa.Text = dr[0].ToString();
                        imgMapa.ImageUrl = "~/img/"+dr[1].ToString();
                    }
                    if (int.Parse(Session["puntos"].ToString()) >= int.Parse(dr["puntosMision"].ToString()))
                    {
                        Localizacion.Text = "'ENHORABUENA HAS COMPLETADO LA MISION! ¡CONTINUA JUGANDO EN NUEVAS E INCREIBLES MISIONES!";
                        Button1.Visible = true;
                    }
                    else
                    {
                        //SqlDataSourceMapa.SelectCommand = sentencia2;
                        //dv2 = (DataView)SqlDataSourceMapa.Select(DataSourceSelectArguments.Empty);
                        ENMapa mapaen = new ENMapa();
                        mapaen.IdMapa = int.Parse(dr[2].ToString());
                        dr = mapaen.obtenerLocalizacionMapa();

                        //foreach(DataRow row in dv2.Table.Rows ){
                        while (dr.Read())
                        {
                            CircleHotSpot nuevo = new CircleHotSpot();
                            nuevo.Radius = 30;
                            nuevo.X = int.Parse(dr["coordenadaX"].ToString());
                            nuevo.Y = int.Parse(dr["coordenadaY"].ToString());
                            nuevo.NavigateUrl = "Localizacion.aspx";
                            nuevo.PostBackValue = dr["idLocalizacion"].ToString();
                            imgMapa.HotSpots.Add(nuevo);
                            imgMapa.ToolTip = "¡BUSCA los distintos lugares del mapa y accede haciendo click!";
                        }
                    }
                }
                else
                {
                    Response.Redirect("Default.aspx");
                }
            }
            catch (Exception ex)
            {
                NombreMapa.Text = "Error al cargar los datos, intentelo otra vez";
            }
        }

        protected void imgMapa_Click(object sender, ImageMapEventArgs e)
        {
            Session["explorado"] = 0;
            Session["idLocalizacion"] = int.Parse(e.PostBackValue.ToString());
            //NombreMapa.Text=Session["idLocalizacion"].ToString();
            Response.Redirect("Localizacion.aspx");
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            Response.Redirect("JugarUsuario2.aspx");
        }
    }
}